package PinDuoDuo;

import org.junit.After;
import org.junit.Test;

import java.io.ByteArrayInputStream;
import java.util.ArrayList;
import java.util.Scanner;

public class Solution2 {
    static int a;
    static char ch[];
    static int arr[];
    static int count;
    public static void main(String args[]){
        count=0;
        Scanner scanner = new Scanner(System.in);
        ch= scanner.nextLine().toCharArray();
        arr = new int[ch.length];
        for (int i = 0; i <ch.length ; i++) {
            arr[i]=ch[i]-48;
        }
        recursion(arr);
    }
    public static void recursion(int arr[]){
        for (int i = 0; i +1< arr.length; i++) {
            //前数组范围为0-  i-1
            int a,b;
            a =heFa(arr,0,i);
            b=heFa(arr,i+1,arr.length-1);
            count = count+a*b;
            //后数组的范围为
        }
    }
    public static int heFa(int arr[],int start,int end){
        int c=0;
        if(start==end && arr[start]==0)
            return 1; //刚好为0
        if(arr[start]!=0 )
            c++;//可以为整数
        //在start后加上点是否合法
        if (arr[end]!=0){ //多余的后缀0
            if(arr[start]==0){
                c++;
            }else {
                for (int i = start; i < end; i++) {
                    c++;
                }
            }
        }
        return c;
    }

    /**
     * 输入可能有0；
     * 整数判断合法：多余的前缀0，多余的后缀0 但是单独为0合法
     * 小数判断合法，多余的后缀0，“.”点前后都要有东西
     * 一个子串可能有 整数合法  点的位置循环的几个可能性
     */

    @Test
    public void test1(){
        String data = "000001";
        System.setIn(new ByteArrayInputStream(data.getBytes()));
        String[] args={};
        main(args);
    }
    @Test
    public void test2(){
        int[] a={1,0,0,0};
        System.out.println(heFa(a,0,3));

    }
    @After
    public void after(){

    }
}
